"""
给定一个 32 位有符号整数，将整数中的数字进行反转。
输入: 123
输出: 321

输入: -123
输出: -321

假设我们的环境只能存储 32 位有符号整数，其数值范围是 [−231,  231 − 1]。根据这个假设，如果反转后的整数溢出，则返回 0。
没什么思路直接干路
"""


class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        flag = 1
        if x < 0:
            x = -1*x
            flag = -1
        a = 0
        while x > 0:
            a = a*10 + x%10
            if a > (2**31-1) or a < (-2**31): return 0
            x = x//10
        return flag * a